Digital stream is widely distributed in the information age and is available in many digital communication networks such as, for example, the Internet. Examples of a digital video stream may include, for example, video streams and audio streams. Audio streams and other data (such as text) may accompany video streams. Stream players receive streaming content, and render the same on the display of the client. Adaptive stream players monitor client conditions and adjust the stream accordingly. For instance, if the client's processor was quite busy, and the network bandwidth was being heavily utilized, the adaptive stream player may adjust the quality of one or more streams downward to reduce processing and network utilization associated with the stream. In the case of a video stream, if the player window were a smaller size, the adaptive stream player may request a lower resolution of stream suitable for the smaller window. Every second or every few seconds, the adaptive stream player determines how to adjust the stream appropriate for current conditions, and makes an appropriate request to the stream source.
Stream players often run in web browsers. Browsers often have the ability to cache content, so as to respond more quickly to future client requests for content. However, the decision to cache or not cache content is native to the browser, and not in control of the adaptive stream player. In addition, in some cases, the stream player is not run within a browser environment or the browser has caching disabled.